﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using ModeloDesenvolvimento;

/*ESCRITO DIA 20/12/2011*/
namespace Poligas_ERP.Classes
{
    public class Fornecedores
    {
        SqlConnection cnx = new SqlConnection();
        SqlCommand cmd = new SqlCommand();
        DataTable tbRetorno = new DataTable();
        DataTable tbLista= new DataTable();

        Db db = new Db();
        Util util = new Util();

        public Fornecedores() { }

        public DataTable RecuperarDadosPorCodigo(Int32 CodFornecedor)
        {
            try
            {
                cnx = db.AbreConexao("strConexao");
                cmd = db.getCommand(cnx);

                cmd.Parameters.AddWithValue("@CodFor", CodFornecedor);
                cmd.CommandText = "spFornecedorSelect";

                tbRetorno.Clear();
                tbRetorno.Load(cmd.ExecuteReader());

            }
            catch
            {

            }

            finally
            {
                db.FechaConexao(cnx);
            }
            return tbRetorno;
        }
        public DataTable LocalizarDados(String Pesquisar)
        {
            try
            {
                cnx = db.AbreConexao("strConexao");
                cmd = db.getCommand(cnx);

                cmd.Parameters.AddWithValue("@Nome", Pesquisar);

                cmd.CommandText = "spFornecedorSelectPesquisar";

                tbLista.Clear();
                tbLista.Load(cmd.ExecuteReader());

            }
            catch
            {

            }

            finally
            {
                db.FechaConexao(cnx);
            }
            return tbLista;
        }
        public Boolean Inserir(String Nome, String Fantasia, String Endereco, String Complemento, String Bairro, String Cidade, String Estado, String Cep, String CpfCnpj, String IeRg, String Fone, String Fax, String Email, String Ramo, String Contato, String CondFaturamento, String Observacoes)
        {
            Boolean erro = false;
            try
            {
                cnx = db.AbreConexao("strConexao");
                cmd = db.getCommand(cnx);

                cmd.Parameters.AddWithValue("@Nome", Nome);
                cmd.Parameters.AddWithValue("@Fantasia", Fantasia);
                cmd.Parameters.AddWithValue("@Ramo", Ramo);
                cmd.Parameters.AddWithValue("@Telefone", Fone);
                cmd.Parameters.AddWithValue("@Fax", Fax);
                cmd.Parameters.AddWithValue("@Endereco", Endereco);
                cmd.Parameters.AddWithValue("@Compl", Complemento);
                cmd.Parameters.AddWithValue("@Bairro", Bairro);
                cmd.Parameters.AddWithValue("@Cidade", Cidade);
                cmd.Parameters.AddWithValue("@Estado", Estado);
                cmd.Parameters.AddWithValue("@Cep", Cep);
                cmd.Parameters.AddWithValue("@CpfCnpj", CpfCnpj);
                cmd.Parameters.AddWithValue("@InsEstRg", IeRg);
                cmd.Parameters.AddWithValue("@Email", Email);
                cmd.Parameters.AddWithValue("@Vendedor", Contato);
                cmd.Parameters.AddWithValue("@CondFatur", CondFaturamento);
                cmd.Parameters.AddWithValue("@Observacoes", Observacoes);

                cmd.CommandText = "spFornecedorInsert";
                cmd.ExecuteNonQuery();
            }
            catch
            {

                erro = true;
            }
            finally
            {
                db.FechaConexao(cnx);
            }
            return erro;
        }
        public Boolean Atualizar(Int32 CodFornecedor, String Nome, String Fantasia, String Endereco, String Complemento, String Bairro, String Cidade, String Estado, String Cep, String CpfCnpj, String IeRg, String Fone, String Fax, String Email, String Ramo, String Contato, String CondFaturamento, String Observacoes)
        {
            Boolean erro = false;
            try
            {
                cnx = db.AbreConexao("strConexao");
                cmd = db.getCommand(cnx);

                cmd.Parameters.AddWithValue("@CodFor", CodFornecedor);
                cmd.Parameters.AddWithValue("@Nome", Nome);
                cmd.Parameters.AddWithValue("@Fantasia", Fantasia);
                cmd.Parameters.AddWithValue("@Ramo", Ramo);
                cmd.Parameters.AddWithValue("@Telefone", Fone);
                cmd.Parameters.AddWithValue("@Fax", Fax);
                cmd.Parameters.AddWithValue("@Endereco", Endereco);
                cmd.Parameters.AddWithValue("@Compl", Complemento);
                cmd.Parameters.AddWithValue("@Bairro", Bairro);
                cmd.Parameters.AddWithValue("@Cidade", Cidade);
                cmd.Parameters.AddWithValue("@Estado", Estado);
                cmd.Parameters.AddWithValue("@Cep", Cep);
                cmd.Parameters.AddWithValue("@CpfCnpj", CpfCnpj);
                cmd.Parameters.AddWithValue("@InsEstRg", IeRg);
                cmd.Parameters.AddWithValue("@Email", Email);
                cmd.Parameters.AddWithValue("@Vendedor", Contato);
                cmd.Parameters.AddWithValue("@CondFatur", CondFaturamento);
                cmd.Parameters.AddWithValue("@Observacoes", Observacoes);

                cmd.CommandText = "spFornecedorUpdate";
                cmd.ExecuteNonQuery();
            }
            catch
            {

                erro = true;
            }
            finally
            {
                db.FechaConexao(cnx);
            }
            return erro;
        }
        public Boolean Excluir(Int32 CodFornecedor)
        {
            Boolean sucesso = true;
            if(CodFornecedor < 0)
            {
                sucesso = false;
            }
            else
            {
                try
                {
                    cnx = db.AbreConexao("strConexao");
                    cmd = db.getCommand(cnx);

                    cmd.Parameters.AddWithValue("@CodFor", CodFornecedor);
                    cmd.CommandText = "spFornecedorDelete";

                    cmd.ExecuteNonQuery();
                }
                catch
                {

                    sucesso = false;
                }
            }
            return sucesso;
        }

    }
}
